package com.bw.controller;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.bw.service.GmallService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

@RestController
public class GmallController {
    @Autowired
    GmallService gmallService;
    @RequestMapping("/f1")
    public Object f1(String time){
        List<Map> list = gmallService.f1(time);
        System.out.println(list);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray objects = new JSONArray();

        for (Map map : list) {
            JSONObject jsonObject2 = new JSONObject();
            jsonObject2.put("name",map.get("n"));
            jsonObject2.put("value",map.get("sum"));
            objects.add(jsonObject2);
        }
        jsonObject1.put("mapData",objects);
        jsonObject1.put("valueName","总成交额");
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }

    @RequestMapping("/f2")
    public Object f2(String time){
        List<Map> list = gmallService.f2(time);
        System.out.println(list);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put( "status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray objects = new JSONArray();
        for (Map map : list) {
            objects.add(map.get("n"));
        }
        jsonObject1.put("categories",objects);
        JSONArray objects1 = new JSONArray();
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","品牌销售排行");
        JSONArray objects2 = new JSONArray();
        for (Map map : list) {
            objects2.add(map.get("total"));
        }
        jsonObject2.put( "data",objects2);
        objects1.add(jsonObject2);
        jsonObject1.put("series",objects1);
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }
    @RequestMapping("/f3")
    public Object f3(String time){
        List<Map> list = gmallService.f3(time);
        System.out.println(list);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONArray objects = new JSONArray();
        JSONObject jsonObject1 = new JSONObject();
        for (Map map : list) {
            jsonObject1.put("name",map.get("n"));
            jsonObject1.put("value", map.get("round"));
        }
        objects.add(jsonObject1);
        jsonObject.put("data",objects);
        return jsonObject;
    }
    @RequestMapping("/f4")
    public Object f4(String time){
        List<Map> list = gmallService.f4(time);
        System.out.println(list);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray objects = new JSONArray();
        for (Map map : list) {
            objects.add(map.get("n"));
        }
        jsonObject1.put("categories",objects);
        JSONArray objects1 = new JSONArray();
        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","基于第二大类");
        JSONArray objects2 = new JSONArray();
        for (Map map : list) {
            objects2.add(map.get("total"));
        }
        objects1.add(jsonObject2);
        jsonObject2.put("data",objects2);
        jsonObject1.put("series",objects1);
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }
    @RequestMapping("/f5")
    public Object f5(String time){
        List<Map> list = gmallService.f5(time);
        System.out.println(list);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("status",0);
        jsonObject.put("msg","");
        JSONObject jsonObject1 = new JSONObject();
        JSONArray objects = new JSONArray();

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name","品牌");
        jsonObject2.put("id","subsys");

        JSONObject jsonObject3 = new JSONObject();
        jsonObject3.put("name","性别");
        jsonObject3.put("id","module");

        JSONObject jsonObject4 = new JSONObject();
        jsonObject4.put("name","总金额");
        jsonObject4.put("id","business");

        objects.add(jsonObject2);
        objects.add(jsonObject3);
        objects.add(jsonObject4);
        jsonObject1.put("columns",objects);

        JSONArray objects1 = new JSONArray();
        for (Map map : list) {
            JSONObject jsonObject5 = new JSONObject();
            jsonObject5.put("subsys",map.get("n"));
            jsonObject5.put("module",map.get("a"));
            jsonObject5.put("business",map.get("sum"));
            objects1.add(jsonObject5);
        }
        jsonObject1.put("rows",objects1);
        jsonObject.put("data",jsonObject1);
        return jsonObject;
    }
}